package com.sunwayhorizo.health.business.clinic.consultation;

import java.text.ParseException;

import javax.ejb.Local;

import com.sunwayhorizo.health.business.dto.PageDTO;
import com.sunwayhorizo.health.business.dto.ResultsDTO;
import com.sunwayhorizo.health.business.dto.clinic.consultation.ConsultationDTO;
import com.sunwayhorizo.health.hl7.common.Hl7Exception;

@Local
public interface ConsultationManagerLocal
{
    /**
     * 新增会诊
     * 
     * @param dto
     * @return
     * @throws Hl7Exception
     * @throws ParseException
     */
    ResultsDTO newConsultation(ConsultationDTO dto) throws Hl7Exception, ParseException;


    /**
     * 查询科室会诊
     * 
     * @param dto
     * @param pageDTO
     * @return
     * @throws Hl7Exception
     */
    ResultsDTO findGroupConsultation(ConsultationDTO dto, PageDTO pageDTO) throws Hl7Exception;


    /**
     * 查询我的会诊
     * 
     * @param dto
     * @param pageDTO
     * @return
     * @throws Hl7Exception
     */
    ResultsDTO findMyConsultation(ConsultationDTO dto, PageDTO pageDTO) throws Hl7Exception;


    /**
     * 修改会诊
     * 
     * @param dto
     * @return
     * @throws Hl7Exception
     * @throws ParseException
     */
    ResultsDTO modifyConsultation(ConsultationDTO dto) throws Hl7Exception, ParseException;


    /**
     * 接受会诊
     * 
     * @param emplyeeId
     * @param workgroupId
     * @param consultationId
     * @return
     * @throws Hl7Exception
     */
    ResultsDTO acceptConsultation(String emplyeeId, String workgroupId, ConsultationDTO dto) throws Hl7Exception;

    /**
     * 删除会诊
     * @param consultationId
     * @return
     * @throws Hl7Exception
     */
    
    ResultsDTO deleteConsultation(String consultationId) throws Hl7Exception;

}
